#include "general_my.h"


#ifndef LOADTESTCASE_H
#define LOADTESTCASE_H 1


#define MAXIMUM_READ_LENGTH 100

// * CasePair 是指一个测试样例
// * 具体指文件的三行
// * 第一行是背包容量，第二行是物品的价值，第三行是物品的重量
typedef struct CasePair
{
    int backpack_volume;
    int * item_values;
    int * item_weights;
    struct CasePair * nextCase;
}CasePair;

//  * CaseSuite 是所有测试样例构成的链表
typedef struct CaseSuite
{
    int length;
    CasePair * head;
    CasePair * tail;
    CasePair * temp;
}CaseSuite;


CasePair * creatCasePair(int backpack_volume, int * item_values, int * item_weights);

CaseSuite * creatCaseSuite();

CaseSuite * appendPair(CaseSuite * suite, CasePair * pair);

CaseSuite * initTestSuite(char * test_filepath, char split_char, bool skip_value);

bool donePair(CasePair * pair);

bool doneSuite(CaseSuite * suite);

int * str2NumList(char * str, char split_char);

#endif